package ejemplo_1.dao;

import org.hibernate.Query;
import org.hibernate.Session;
import org.hibernate.SessionFactory;

import ejemplo_1.bean.AlumnoVO;
import ejemplo_1.entity.Alumno_Entity;
import ejemplo_1.hibernateUtil.*;
	
public class Alumno_DAO {
	
	private static Alumno_DAO instancia = null;
	private static SessionFactory sf = null;

	public static Alumno_DAO getInstancia(){
		if(instancia == null){
			sf = hibernateUtil.getSessionFactory();
			instancia = new Alumno_DAO();
		} 
		return instancia;
	}
	
	public void grabarUsuario(AlumnoVO usuario){
		/*Convierto el parametro a bean*/
		Alumno_Entity aux = new Alumno_Entity();
		aux.setNumeroAlumno(usuario.getNumeroAlumno());
		aux.setNombre(usuario.getNombre());
		
		/*Abro sesion y grabo el objeto*/
		Session session = sf.openSession();
		session.beginTransaction();
		session.persist(aux);
		session.flush();
		session.getTransaction().commit();
		session.close();
	}
	
//	public AlumnoVO getAlumno(int legajo){
//		Session session = sf.openSession();
//		String consulta = "select a from AlumnoEntity a where a.legajo = ?";
//		Query q = session.createQuery(consulta).setInteger(0, legajo);
//		Alumno_Entity ae = (Alumno_Entity) q.uniqueResult();
//		return 	ae.toVO();
//	}

	/*public List<UsuarioDTO> getUsuarios()
	{
		List<UsuarioDTO> usuarios = new ArrayList<UsuarioDTO>();
		UsuarioDTO aux = null;
		Session session = sf.openSession();
		List<UsuarioBean> list = session.createQuery("from UsuarioBean").list();
		for(UsuarioBean u: list)
		{
			aux = new UsuarioDTO(u.getId(), u.getNombre(), u.getCuit());
			usuarios.add(aux);
		}
		session.close();

		return usuarios;
	}*/
}
